МІНІСТЕРСТВО НАУКИ І ОСВІТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА"
ЛАБОРАТОРНА РОБОТА
з курсу
"Алгоритмізація і програмування"
для студентів базового напряму 6.0905
"Енергетика"
Львів Львівська політехніка 2007
Укладачі: З.Теплюх, д.т.н., І.Ділай - кандидат техн. наук.
Відповідальний за випуск: Є.Пістун, д.т.н., професор.
Рецензенти: Г.Крих, І.Стасюк - кандидати техн. наук.
Мета роботи: засвоєння алгоритмів розв'язування нелінійних рівнянь різними числовими методами. Одержання навиків програмування і роботи на комп'ютері, зокрема в середовищах Turbo C++ і MATLAB.
Для успішного виконання лабораторної роботи необхідно:
- знати різні методи розв'язування нелінійного рівняння;
- вміти записувати алгоритми у вигляді блок-схем;
- вміти програмувати мовою С/С++ і в середовищі MATLAB;
- вміти працювати в середовищі Turbo C++ і MATLAB.
Основні відомості про методи розв'язування нелінійних рівнянь
Розв'язування нелінійних рівнянь виду є однією із важливих задач, яка зустрічається в різних областях техніки. В переважній більшості в інженерній практиці приходиться мати справу з нелінійними об'єктами, які відповідно часто описуються нелінійними рівняннями. Сучасні засоби обчислювальної техніки в поєднанні із розробленими методами знаходження розв'язку нелінійних рівнянь дозволяють ефективно і з необхідною точністю вирішувати поставлену задачу.
Нелінійні рівняння з однією змінною можна розділити на два класи - алгебраїчні та трансцендентні. Алгебраїчними називають рівняння, що містять лише алгебраїчні функції (цілі, раціональні, ірраціональні). Рівняння, що містять інші функції (тригонометричні, показникові, логарифмічні та інші), називаються трансцендентними.
Методи розв'язування нелінійних рівнянь поділяють на прямі та ітераційні. Прямі методи дозволяють записати розв'язок (корені) рівняння у вигляді кінцевої формули.
Однак рівняння, які зустрічаються в інженерній практиці в переважній більшості не вдається розв'язати такими простими методами. Тому для розв'язування таких рівнянь використовують ітераційні методи, тобто методи послідовних наближень.
Ітераційний процес полягає в послідовному уточненні початкового наближення розв'язку . Кожен такий крок називається ітерацією. В результаті ітераційного процесу знаходиться послідовність наближених значень кореня . Якщо ці значення із зростанням наближаються до дійсного значення кореня, то вважають, що такий ітераційний процес збігається.
Нелінійні рівняння розв'язують в два етапи: перший - виділення коренів і другий - уточнення кореня до заданої похибки .
Виділити корені - це значить знайти інтервали (інтервал ), в кожному з яких знаходиться один дійсний корінь.
Корені виділяють наступними способами: табулюванням функції , шляхом побудови графіка , числовим і аналітичним.
Умовою наявності кореня в інтервалі є: .
Для уточнення кореня найчастіше застосовують наступні методи: половинного ділення, простих ітерацій, хорд, дотичних і комбінований.
Метод половинного ділення
Формула методу: ;
;
;
;
;
якщо ;
;
;
якщо .
Умова виходу з ітераційного процесу: або .
Метод простих ітерацій
Умова застосування методу: і - неперервні функції на інтервалі .
Метод вимагає перетворення рівняння до виду , але довільний перехід не завжди забезпечує збіжність методу.
Формула методу: ;
Нульове наближення є довільним з інтервалу , доцільно - .
Умова збіжності: , де .
Умова виходу з ітераційного процесу: .
Спосіб переходу від рівняння до , що забезпечує збіжність методу: ; де ; ; .
Метод хорд
Умови застосування методу: , і - неперервні функції на інтервалі , причому і .
Формула методу: ;
і ,
якщо або ;
і ,
якщо або ;
В іншому варіанті формула методу має вигляд:
;
;
;
- довільне, наприклад, ;
і ,
якщо ;
і ,
якщо .
Умова виходу з ітераційного процесу: ,
де , а .
Метод дотичних
Умови за...